<template>
  <div class="login">
    <van-form @submit="onSubmit">
      <van-field
        v-model="username"
        name="username"
        label="用户名"
        placeholder="用户名"
        :rules="[{ required: true, message: '请填写用户名' }]"
      />
      <van-field
        v-model="password"
        type="password"
        name="password"
        label="密码"
        placeholder="密码"
        :rules="[{ required: true, message: '请填写密码' }]"
      />
      <div style="margin: 16px">
        <van-button round block type="info" native-type="submit">
          提交
        </van-button>
      </div>
    </van-form>

    <van-button @click="handleClick">按钮测试截流</van-button>
  </div>
</template>
<script>
import { mapActions } from 'vuex'
import { debounce, throttle } from 'lodash'
export default {
  data() {
    return {
      username: '',
      password: '',
    }
  },
  methods: {
    ...mapActions(['loginFunc']),
    onSubmit: debounce(async function (values) {
      const response = await this.loginFunc(values)
      if (response.code === 0) {
        this.$router.push('/home')
      }
    }, 500),
    handleClick: throttle(function () {
      console.log('111111-throttle')
    }, 2000),
  },
}
</script>
